|
Showing 1 - 5 of
5 matches in All Departments
This book introduces the concepts of diverse programming languages
for students who have already mastered basic programming in at
least one language. It is suitable for use in an undergraduate
course for computer science and computer engineering majors. It
treats all the knowledge units in the area of programming languages
that appear in the ACM's Computer Science Curriculum 2008, and
introduces the core units thoroughly. It gives programming
exercises in three different language paradigms. Philosophically,
it is in complete agreement with the ACM report. This book has two
distinct kinds of chapters: practical and theoretical. The
practical chapters are self-contained primers in three very
different programming languages - ML, Java, and Prolog - at least
two of which will be new languages for almost all students at this
level. Students receive a quick introduction to the linguistically
unique parts of each language and enough simple programming
exercises to develop a feel for the programming paradigm of the
language. There are excellent free implementations of all these
languages available on a variety of platforms, including Windows,
Unix, and Macintosh; the book's Web site at
http://www.webber-labs.com/mpl.html has instructions on how to get
them. The theoretical chapters present the underlying principles of
programming languages. They are interleaved with the practical
chapters in an order that allows ideas to be illustrated using
examples in the newly learned languages and allows theoretical
topics to be covered when their relevance to programming practice
will be most evident. For example, Chapter 23 deals with formal
semantics by starting with simple interpreters written in Prolog.
These interpreters lead naturally to language definitions using
big-step operational semantics. That is why formal semantics occurs
so late in the book: only at the end of the Prolog tutorial are
students ready to be led from Prolog exercises to this related,
abstract topic.
This book has two major goals. The first is to help you understand
and appreciate the beautiful and enduring ideas of formal language.
These ideas are the birthright of all computer scientists, and they
will profoundly change the way you think about computation. They
are not only among the most beautiful, but also among the most
useful tools in computer science. They are used to solve problems
in a wide variety of practical applications, and they are
especially useful for defining programming languages and for
building language systems. The second purpose of this book is to
help you develop a facility with these useful tools. Our code
examples are in Java, but they are not particularly Java-centric
and should be accessible to any programmer. There is also a third
major reason to study formal language, one that is not a primary
focus of this book: to learn the techniques of mathematical proof.
When you are learning about formal language, it can also be a good
time to learn proof techniques, because the subject is full of
theorems to practice on. But this book tries to make the beautiful
and useful ideas for formal language accessible to students at all
levels of mathematical interest and ability. To that end, although
the book presents and discusses many simple proofs, it does not try
to teach advanced proof techniques. Relatively few of the exercises
pose challenging proof problems. Those planning graduate-level
study of theoretical computer science would be well advised not to
rely exclusively on this book for that kind of training.
|
You may like...
Loot
Nadine Gordimer
Paperback
(2)
R398
R330
Discovery Miles 3 300
Loot
Nadine Gordimer
Paperback
(2)
R398
R330
Discovery Miles 3 300
|
Email address subscribed successfully.
A activation email has been sent to you.
Please click the link in that email to activate your subscription.